package com.bus.admin.controller;


import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.bus.admin.bean.Orderbus;
import org.springframework.web.bind.annotation.RequestMapping;
import com.bus.admin.bean.result.ResultPage;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ResponseBody;

import com.bus.admin.bean.PaiChe;
import com.bus.admin.bean.result.ResultPage;
import com.bus.admin.controller.model.ApiResultModel;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * <p>
 * 前端控制器
 * </p>
 *
 * @author 张子艺
 * @since 2020-04-09
 */
@Controller
@RequestMapping("/bus/paiChe")
public class PaiCheController extends BaseController {
    /**
     * 主页面
     */
    @RequestMapping("main.html")
    public String main() {
        return "paiche/PaicheMain";
    }

    @RequestMapping("print.html")
    public String print(String id, Model model) {
        PaiChe paiChe = paiCheService.getById(id);

        model.addAttribute("paiche",paiChe);
        switch (paiChe.getPayType()) {
            case 0: {  //全款 派车单.
                QueryWrapper queryWrapper = new QueryWrapper();
                queryWrapper.eq("ordernum", paiChe.getOrdernum());
                Orderbus orderbus = orderbusService.getOne(queryWrapper);
                if(orderbus ==null){
                    orderbus=new Orderbus();
                    orderbus.setPayStatus(3);
                }
                if(orderbus.getPayStatus()==null){
                    orderbus.setPayStatus(3);
                }
                model.addAttribute("order", orderbus);
                break;
            }
            case 1: {  //定金派车单
                QueryWrapper queryWrapper = new QueryWrapper();
                queryWrapper.eq("dingjinNum", paiChe.getOrdernum());
                Orderbus orderbus = orderbusService.getOne(queryWrapper);
                if(orderbus ==null){
                    orderbus=new Orderbus();
                    orderbus.setPayStatus(3);
                }
                if(orderbus.getPayStatus()==null){
                    orderbus.setPayStatus(3);
                }
                model.addAttribute("order", orderbus);
                break;
            }
            default:
              Orderbus orderbus=  new Orderbus();
                orderbus.setPayStatus(3);
                model.addAttribute("order",orderbus );
        }

        return "paiche/print";
    }

    /**
     * 添加页面跳转
     *
     * @return 返回页面
     */
    @RequestMapping(value = "/addPaiCheHtml")
    public String addPaiCheHtml() {
        return "paiche/PaicheAdd";
    }

    /**
     * 编辑页面跳转
     *
     * @param id 前端传进的参数
     * @return 返回页面
     */
    @RequestMapping(value = "/editPaiCheHtml")
    public String editPaiCheHtml(Integer id, Model model) {
        model.addAttribute("paiChe", paiCheService.selectPaiCheByIdPaiChe(id));
        return "paiche/PaicheEdit";
    }

    /**
     * 查看页面跳转
     *
     * @param id 前端传进的参数
     * @return 返回页面
     */
    @RequestMapping(value = "/showPaiCheHtml")
    public String showPaiCheHtml(Integer id, Model model) {
        model.addAttribute("paiChe", paiCheService.selectPaiCheByIdPaiChe(id));
        return "paiche/PaicheShow";
    }


    /**
     * 分页查询PaiChe
     *
     * @param page   页码
     * @param limit  查几条
     * @param paiChe 前端传进的参数
     * @return 返回统一分页信息
     */
    @RequestMapping(value = "/findPaiCheByPage")
    @ResponseBody
    public ResultPage findPaiCheByPage(Integer page, Integer limit, PaiChe paiChe) {
        return paiCheService.findPaiCheByPage(page, limit, paiChe);
    }

    /**
     * 添加PaiChe
     *
     * @param paiChe 前端传进的参数
     * @return 返回统一信息
     */
    @RequestMapping(value = "/addPaiChe")
    @ResponseBody
    public ApiResultModel savePaiChe(PaiChe paiChe) {
        return paiCheService.addPaiChe(paiChe);
    }

    /**
     * 编辑PaiChe
     *
     * @param paiChe 前端传进的参数
     * @return 返回统一信息
     */
    @RequestMapping(value = "/editPaiChe")
    @ResponseBody
    public ApiResultModel editPaiChe(PaiChe paiChe) {
        return paiCheService.editPaiChe(paiChe);
    }


    /**
     * 删除一条PaiChe
     *
     * @param id 前端传进的ID
     * @return 返回统一信息
     */
    @RequestMapping(value = "/delPaiChe")
    @ResponseBody
    public ApiResultModel delPaiChe(Integer id) {
        return paiCheService.delPaiChe(id);
    }


}
